package com.woniuxy.woniuhis.service.impl;

import com.github.pagehelper.PageInfo;
import com.woniuxy.woniuhis.entity.MediItem;
import com.woniuxy.woniuhis.exception.MediItemServiceException;
import com.woniuxy.woniuhis.mapper.MediItemMapper;
import com.woniuxy.woniuhis.service.MediItemService;
import com.woniuxy.woniuhis.util.UUIDUtil;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;

@Service
public class MediItemServiceImpl implements MediItemService {
    @Autowired
    private MediItemMapper mediItemMapper;
    @Override
    public void addMediItem(MediItem mediItem) {
        try {
            if (mediItem.getMediItemId() == null) {
                mediItem.setMediItemId(UUIDUtil.uuid32());
            }
            mediItemMapper.insertMediItem(mediItem);
        } catch (Exception e) {
            e.printStackTrace();
            throw new MediItemServiceException("服务维护中");
        }
    }

    @Override
    public void delMediItemById(String mediItemId) {
        try {
            if (!StringUtils.isEmpty(mediItemId)) {
                mediItemMapper.deleteMediItemById(mediItemId);
            }
        } catch (Exception e) {
            e.printStackTrace();
            throw new MediItemServiceException("服务维护中");
        }
    }

    @Override
    public void modifyMediItem(MediItem mediItem) {
        try {
            if (mediItem != null) {
                mediItemMapper.updateMediItem(mediItem);
            }
        } catch (Exception e) {
            e.printStackTrace();
            throw new MediItemServiceException("服务维护中");
        }
    }

    @Override
    public MediItem findMediItemById(String mediItemId) {
        try {
            if (!StringUtils.isEmpty(mediItemId)) {
                return mediItemMapper.selectMediItemById(mediItemId);
            }
            return null;
        } catch (Exception e) {
            e.printStackTrace();
            throw new MediItemServiceException("服务维护中");
        }
    }

    @Override
    public PageInfo<MediItem> findMediItemListByRecipeMediId(String recipeMediId) {
        try {
            return new PageInfo<MediItem>(mediItemMapper.selectMediItemListByRecipeMediId(recipeMediId));
        } catch (Exception e) {
            e.printStackTrace();
            throw new MediItemServiceException("服务维护中");
        }
    }
}
